package edu.upc.poo.pc1;

import edu.upc.poo.pc1.entidades.Factura;
import edu.upc.poo.pc1.entidades.Linea;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 *
 * @author alumno
 */
public class ManagerFactura {
    
    private List<Factura> facturas;

    public ManagerFactura() {
        facturas = new ArrayList<Factura>();
    }
    
    public void addFactura(Factura factura) {
        facturas.add(factura);
    }
    
    public void listarFactura() {
        for (Factura factura : facturas) {
            System.out.println("Numero factura = "+factura.getNumeroFactura());
        }
    }  
    
    public void imprimirFactura(String numeroFactura) {
        //Buscando factura
        Factura facturaAImprimir = null;
        for (Factura factura : facturas) {
            if (factura.getNumeroFactura().equals(numeroFactura)) {
                facturaAImprimir = factura;
                break;
            }
        }
        //Impimir factura
        if (facturaAImprimir != null) {
            facturaAImprimir.imprimir();
        }
    }
    
    public static void main(String[] args) {
        
        ManagerFactura manager = new ManagerFactura();
        
        //Detalles
        Linea l1 = new Linea();
        l1.setCantidad(1);
        l1.setPrecio(10.0);
        l1.setProducto("Ayudin");
        
        Linea l2 = new Linea();
        l2.setCantidad(2);
        l2.setPrecio(20.0);
        l2.setProducto("Paños");        
        
        //Crear Factura
        Factura f1 = new Factura();
        f1.setNumeroFactura("001");
        f1.setFecha(new Date());
        f1.setRazonSocial("LA UPC");
        f1.setRuc("2511861331");       
        List<Linea> lineas = new ArrayList<Linea>();
        lineas.add(l1);
        lineas.add(l2);
        f1.setLineas(lineas);
        
        Factura f2 = new Factura();
        f2.setNumeroFactura("002");
        f2.setFecha(new Date());
        f2.setRazonSocial("LA UPC");
        f2.setRuc("2511864579");       
        f2.setLineas(lineas);        
        
        manager.addFactura(f1);
        manager.addFactura(f2);
        
        manager.listarFactura();
        manager.imprimirFactura("001");
    }
}
